package com.ruoyi.credit.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 支出类合同对象 contract_pay
 *
 * @author zhulei
 * @date 2022-03-10
 */
public class ContractPay extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 合同uid */
    @Excel(name = "合同uid")
    private String contractUid;

    /** 合同编号 */
    @Excel(name = "合同编号")
    private String contractCode;

    /** 合同名称 */
    @Excel(name = "合同名称")
    private String contractName;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    private String supplierNames;

    /** 资金来源 */
    @Excel(name = "资金来源")
    private String financialOrgName;

    /** 合同归属（线路） */
    @Excel(name = "合同归属", readConverterExp = "线=路")
    private String lineNames;

    /** 费率（%） */
    @Excel(name = "费率", readConverterExp = "%=")
    private String contractRate;

    /** 清单汇总金额 */
    @Excel(name = "清单汇总金额")
    private BigDecimal contractListMoney;

    /** 合同总额 */
    @Excel(name = "合同总额")
    private BigDecimal contractTotalMoney;

    /** 申报时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申报时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractApplyDate;

    /** 启用时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "启用时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractEffectiveDate;

    /** 备注 */
    @Excel(name = "备注")
    private String contractMemo;

    /** 是否运营物资采购合同 */
    @Excel(name = "是否运营物资采购合同")
    private String contractIsMaterial;

    /** 物资采购订单类型 */
    @Excel(name = "物资采购订单类型")
    private String contractMaterialType;

    /** 合同状态 */
    @Excel(name = "合同状态")
    private String contractStatus;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateDate;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private String contractTypeName;

    /** 合同类别 */
    @Excel(name = "合同类别")
    private String contractCategory;

    /** 招采方式 */
    @Excel(name = "招采方式")
    private String contractConferMode;

    /** 招标概算(万元) */
    @Excel(name = "招标概算(万元)")
    private String budgetMoney;

    /** 控制价(万元) */
    @Excel(name = "控制价(万元)")
    private String controlMoney;

    /** 含预留金(万元) */
    @Excel(name = "含预留金(万元)")
    private String reserveFund;

    /** 业主代表 */
    @Excel(name = "业主代表")
    private String ydUserName;

    /** 业代部门 */
    @Excel(name = "业代部门")
    private String ydOrgName;

    /** 主办部门经办人 */
    @Excel(name = "主办部门经办人")
    private String hostUserName;

    /** 主办部门 */
    @Excel(name = "主办部门")
    private String hostOrgName;

    /** 合约管理经办人 */
    @Excel(name = "合约管理经办人")
    private String hybUserName;

    /** 合约管理部门 */
    @Excel(name = "合约管理部门")
    private String hybOrgName;

    /** 经办人电话 */
    @Excel(name = "经办人电话")
    private String contractHostUsertel;

    /** 是否增值税专用发票合同 */
    @Excel(name = "是否增值税专用发票合同")
    private String contractIsInvoice;

    /** 是否违约 */
    @Excel(name = "是否违约")
    private String contractAttribute12;

    /** 财务部是否已审核合同清单 */
    @Excel(name = "财务部是否已审核合同清单")
    private String contractAttribute5;

    /** 合同签订年份 */
    @Excel(name = "合同签订年份")
    private String signYear;

    // 合同对应供应商ID
    private Long targetId;

    public Long getTargetId() {
        return targetId;
    }

    public void setTargetId(Long targetId) {
        this.targetId = targetId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setContractUid(String contractUid)
    {
        this.contractUid = contractUid;
    }

    public String getContractUid()
    {
        return contractUid;
    }
    public void setContractCode(String contractCode)
    {
        this.contractCode = contractCode;
    }

    public String getContractCode()
    {
        return contractCode;
    }
    public void setContractName(String contractName)
    {
        this.contractName = contractName;
    }

    public String getContractName()
    {
        return contractName;
    }
    public void setSupplierNames(String supplierNames)
    {
        this.supplierNames = supplierNames;
    }

    public String getSupplierNames()
    {
        return supplierNames;
    }
    public void setFinancialOrgName(String financialOrgName)
    {
        this.financialOrgName = financialOrgName;
    }

    public String getFinancialOrgName()
    {
        return financialOrgName;
    }
    public void setLineNames(String lineNames)
    {
        this.lineNames = lineNames;
    }

    public String getLineNames()
    {
        return lineNames;
    }
    public void setContractRate(String contractRate)
    {
        this.contractRate = contractRate;
    }

    public String getContractRate()
    {
        return contractRate;
    }
    public void setContractListMoney(BigDecimal contractListMoney)
    {
        this.contractListMoney = contractListMoney;
    }

    public BigDecimal getContractListMoney()
    {
        return contractListMoney;
    }
    public void setContractTotalMoney(BigDecimal contractTotalMoney)
    {
        this.contractTotalMoney = contractTotalMoney;
    }

    public BigDecimal getContractTotalMoney()
    {
        return contractTotalMoney;
    }
    public void setContractApplyDate(Date contractApplyDate)
    {
        this.contractApplyDate = contractApplyDate;
    }

    public Date getContractApplyDate()
    {
        return contractApplyDate;
    }
    public void setContractEffectiveDate(Date contractEffectiveDate)
    {
        this.contractEffectiveDate = contractEffectiveDate;
    }

    public Date getContractEffectiveDate()
    {
        return contractEffectiveDate;
    }
    public void setContractMemo(String contractMemo)
    {
        this.contractMemo = contractMemo;
    }

    public String getContractMemo()
    {
        return contractMemo;
    }
    public void setContractIsMaterial(String contractIsMaterial)
    {
        this.contractIsMaterial = contractIsMaterial;
    }

    public String getContractIsMaterial()
    {
        return contractIsMaterial;
    }
    public void setContractMaterialType(String contractMaterialType)
    {
        this.contractMaterialType = contractMaterialType;
    }

    public String getContractMaterialType()
    {
        return contractMaterialType;
    }
    public void setContractStatus(String contractStatus)
    {
        this.contractStatus = contractStatus;
    }

    public String getContractStatus()
    {
        return contractStatus;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setLastUpdateDate(Date lastUpdateDate)
    {
        this.lastUpdateDate = lastUpdateDate;
    }

    public Date getLastUpdateDate()
    {
        return lastUpdateDate;
    }
    public void setContractTypeName(String contractTypeName)
    {
        this.contractTypeName = contractTypeName;
    }

    public String getContractTypeName()
    {
        return contractTypeName;
    }
    public void setContractCategory(String contractCategory)
    {
        this.contractCategory = contractCategory;
    }

    public String getContractCategory()
    {
        return contractCategory;
    }
    public void setContractConferMode(String contractConferMode)
    {
        this.contractConferMode = contractConferMode;
    }

    public String getContractConferMode()
    {
        return contractConferMode;
    }
    public void setBudgetMoney(String budgetMoney)
    {
        this.budgetMoney = budgetMoney;
    }

    public String getBudgetMoney()
    {
        return budgetMoney;
    }
    public void setControlMoney(String controlMoney)
    {
        this.controlMoney = controlMoney;
    }

    public String getControlMoney()
    {
        return controlMoney;
    }
    public void setReserveFund(String reserveFund)
    {
        this.reserveFund = reserveFund;
    }

    public String getReserveFund()
    {
        return reserveFund;
    }
    public void setYdUserName(String ydUserName)
    {
        this.ydUserName = ydUserName;
    }

    public String getYdUserName()
    {
        return ydUserName;
    }
    public void setYdOrgName(String ydOrgName)
    {
        this.ydOrgName = ydOrgName;
    }

    public String getYdOrgName()
    {
        return ydOrgName;
    }
    public void setHostUserName(String hostUserName)
    {
        this.hostUserName = hostUserName;
    }

    public String getHostUserName()
    {
        return hostUserName;
    }
    public void setHostOrgName(String hostOrgName)
    {
        this.hostOrgName = hostOrgName;
    }

    public String getHostOrgName()
    {
        return hostOrgName;
    }
    public void setHybUserName(String hybUserName)
    {
        this.hybUserName = hybUserName;
    }

    public String getHybUserName()
    {
        return hybUserName;
    }
    public void setHybOrgName(String hybOrgName)
    {
        this.hybOrgName = hybOrgName;
    }

    public String getHybOrgName()
    {
        return hybOrgName;
    }
    public void setContractHostUsertel(String contractHostUsertel)
    {
        this.contractHostUsertel = contractHostUsertel;
    }

    public String getContractHostUsertel()
    {
        return contractHostUsertel;
    }
    public void setContractIsInvoice(String contractIsInvoice)
    {
        this.contractIsInvoice = contractIsInvoice;
    }

    public String getContractIsInvoice()
    {
        return contractIsInvoice;
    }
    public void setContractAttribute12(String contractAttribute12)
    {
        this.contractAttribute12 = contractAttribute12;
    }

    public String getContractAttribute12()
    {
        return contractAttribute12;
    }
    public void setContractAttribute5(String contractAttribute5)
    {
        this.contractAttribute5 = contractAttribute5;
    }

    public String getContractAttribute5()
    {
        return contractAttribute5;
    }
    public void setSignYear(String signYear)
    {
        this.signYear = signYear;
    }

    public String getSignYear()
    {
        return signYear;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("contractUid", getContractUid())
            .append("contractCode", getContractCode())
            .append("contractName", getContractName())
            .append("supplierNames", getSupplierNames())
            .append("financialOrgName", getFinancialOrgName())
            .append("lineNames", getLineNames())
            .append("contractRate", getContractRate())
            .append("contractListMoney", getContractListMoney())
            .append("contractTotalMoney", getContractTotalMoney())
            .append("contractApplyDate", getContractApplyDate())
            .append("contractEffectiveDate", getContractEffectiveDate())
            .append("contractMemo", getContractMemo())
            .append("contractIsMaterial", getContractIsMaterial())
            .append("contractMaterialType", getContractMaterialType())
            .append("contractStatus", getContractStatus())
            .append("createDate", getCreateDate())
            .append("lastUpdateDate", getLastUpdateDate())
            .append("contractTypeName", getContractTypeName())
            .append("contractCategory", getContractCategory())
            .append("contractConferMode", getContractConferMode())
            .append("budgetMoney", getBudgetMoney())
            .append("controlMoney", getControlMoney())
            .append("reserveFund", getReserveFund())
            .append("ydUserName", getYdUserName())
            .append("ydOrgName", getYdOrgName())
            .append("hostUserName", getHostUserName())
            .append("hostOrgName", getHostOrgName())
            .append("hybUserName", getHybUserName())
            .append("hybOrgName", getHybOrgName())
            .append("contractHostUsertel", getContractHostUsertel())
            .append("contractIsInvoice", getContractIsInvoice())
            .append("contractAttribute12", getContractAttribute12())
            .append("contractAttribute5", getContractAttribute5())
            .append("signYear", getSignYear())
            .toString();
    }
}
